User interface for establishing mappings from internal metadata to external metadata

ABSTRACT

A solution is provided that allows a user to provide an alternate set of metadata for any number of data points within a report, while in a report design environment. They may lay down a grid on the work area and specify the data by placing the relevant dimensional metadata, extracted from the source, in the grid as row headings and column headings. The user may then select either a column or a row from the grid and upon doing so may be provided with a mechanism to define alternate metadata that can describe all data points that are in the column or row in the target system. This allows for a much more user-friendly environment in which to specify metadata mappings between internal sources and external sources.

FIELD OF THE INVENTION

The present invention relates to the field of computer databases. More specifically, the present invention relates to a user interface for establishing mappings from internally defined and/or provided metadata to externally defined and/or provided metadata in a report design environment.

BACKGROUND OF THE INVENTION

Database applications are commonly used to store large amounts of data. Modern databases often also track metadata, or data about the data, to further improve storage capabilities and searchability. Users may access the databases for a variety of different uses, but one popular use is to generate reports based on the data and metadata in a database.

Typical report generators operate as part of the database package. As such, they are designed to allow users to access and perform functions on internal metadata. Internal metadata is metadata that is either defined by the user of the report generator, or provided in the database associated with the database package.

It may be useful, however, to provide access to both internal and external metadata within a report generator. One example of this is in the case of Extensible Business Reporting Lanugage (XBRL). XBRL is based on the Extensible Markup Language (XML), and is specifically designed for allow for improved identification and communication of the complex financial information common in corporate business reports. With the rise of XBRL, it would be valuable to allow users to map internal metadata to XBRL external metadata.

More generally, when copying and converting a set of data that is stored in one place in one format (the source) to another place in another format (the target), it is necessary to define a mapping between the internal metadata and the external metadata. In some cases, conversions are necessary on the data. These conversions may require the specification of mathematical operations to be performed on one or more items of internal data to produce one item of data for the metadata defined in the external source. The operation may be defined in terms of the internal metadata and the result of the operation mapped to the external metadata system.

What is needed is a solution that would allow users to establish mapping from internally defined and/or provided metadata to externally defined and/or provided metadata. Furthermore, adding an additional software package to generate such mappings could be confusing and time-consuming to the user. Therefore, what is also needed is a solution that provides a user interface for establishing such mappings in a report design environment.

Additionally, what is needed is a solution that would allow mappings to be defined just for the subset of metadata that needs to be mapped in order to perform the metadata conversion for a document, rather than requiring a user to map complete sets of meta-data between systems without regard to which data exists in the internal system and which data exists in the external system.

BRIEF DESCRIPTION

A solution is provided that allows a user to provide an alternate set of metadata for any number of data points within a report, while in a report design environment. They may lay down a grid on the work area and specify the data by placing the relevant dimensional metadata, extracted from the source, in the grid as row headings and column headings. The user may then select either a column or a row from the grid and upon doing so may be provided with a mechanism to define alternate metadata that can describe all data points that are in the column or row in the target system. This allows for a much more user-friendly environment in which to specify metadata mappings between internal sources and external sources.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated into and constitute a part of this specification, illustrate one or more embodiments of the present invention and, together with the detailed description, serve to explain the principles and implementations of the invention.

In the drawings:

FIG. 1 is a screen capture illustrating selecting a row from a grid in accordance with an embodiment of the present invention.

FIG. 2 is a screen capture illustrating selection of a line item checkbox in accordance with an embodiment of the present invention.

FIG. 3 is a screen capture illustrating a line item setup dialog in accordance with an embodiment of the present invention.

FIG. 4 is a screen capture illustrating a line item setup dialog where some hierarchy boxes have been selected in accordance with an embodiment of the present invention.

FIG. 5 is a screen capture illustrating the updated row properties window in accordance with an embodiment of the present invention.

FIG. 6 is a screen capture illustrating the selection of a calculated row in accordance with an embodiment of the present invention.

FIG. 7 is a screen capture illustrating a line item setup dialog for a selected calculated row in accordance with an embodiment of the present invention.

FIG. 8 is a screen capture illustrating the selection of a column for which metadata may be defined.

FIG. 9 is a screen capture illustrating the XBRL Manager-Context Setup dialog in accordance with an embodiment of the present invention.

FIG. 10 is a screen capture illustrating an XBRL manager-Context Setup dialog when a Units tab is selected in accordance with an embodiment of the present invention.

FIG. 11 is a screen capture illustrating an XBRL manager-Context Setup dialog when a Period tab is selected in accordance with an embodiment of the present invention.

FIG. 12 is a screen capture illustrating the selection of individual cells from a grid in accordance with an embodiment of the present invention.

FIG. 13 is a screen capture illustrating the XBRL Manager-Context Setup Window for individual cell selections in accordance with an embodiment of the present invention.

FIG. 14 is a flow diagram illustrating a method for establishing a mapping between internal metadata and external metadata in a report design environment in accordance with an embodiment of the present invention.

FIG. 15 is a block diagram illustrating an apparatus for establishing a mapping between internal metadata and external metadata in a report design environment in accordance with an embodiment of the present invention.

DETAILED DESCRIPTION

Embodiments of the present invention are described herein in the context of a system of computers, servers, and software. Those of ordinary skill in the art will realize that the following detailed description of the present invention is illustrative only and is not intended to be in any way limiting. Other embodiments of the present invention will readily suggest themselves to such skilled persons having the benefit of this disclosure. Reference will now be made in detail to implementations of the present invention as illustrated in the accompanying drawings. The same reference indicators will be used throughout the drawings and the following detailed description to refer to the same or like parts.

In the interest of clarity, not all of the routine features of the implementations described herein are shown and described. It will, of course, be appreciated that in the development of any such actual implementation, numerous implementation-specific decisions must be made in order to achieve the developer's specific goals, such as compliance with application- and business-related constraints, and that these specific goals will vary from one implementation to another and from one developer to another. Moreover, it will be appreciated that such a development effort might be complex and time-consuming, but would nevertheless be a routine undertaking of engineering for those of ordinary skill in the art having the benefit of this disclosure.

In accordance with the present invention, the components, process steps, and/or data structures may be implemented using various types of operating systems, computing platforms, computer programs, and/or general purpose machines. In addition, those of ordinary skill in the art will recognize that devices of a less general purpose nature, such as hardwired devices, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), or the like, may also be used without departing from the scope and spirit of the inventive concepts disclosed herein.

The present invention allows a user to define the set of data or metadata that is to be output with an alternate set of metadata in the same way they define they layout of a report in a report design environment. They may lay down a grid or set of grids and/or individual fields (hereinafter collectively referred to in the singular as grid) on the work area and specify the data that is to be converted by placing the relevant dimensional metadata, extracted from the source, in the grid as row headings and column headings.

The user may then select either a column or a row from the grid and upon doing so may be provided with a mechanism to define metadata that can describe all data points that are in the column or row in the target system. Depending on the type of metadata to be mapped to, the user may be presented either with a list from which they can select a known item of metadata to map to in the external system, or a dialog or dialogs into which they can type specific metadata that should be created in the external system when the report is output for the external system. Certain types of metadata may have certain limitations in a particular external system, such as time related metadata representing dates or time periods, and the user in such cases may be presented with controls to enable them to select specific items of metadata from the possible range of values for that dimension which are not necessarily known in advance.

If there is no specific item of metadata in the internal system that maps to the metadata in the external system, but rather a data value must be calculated using a formula involving one or more data items in the internal system, a new column or row may be created in the grid and a formula may be entered into a the new row or column which generates the desired data. The formula column or row may then be mapped to metadata in the external system in the manner described above.

If a specific cell or cells in the grid need to be mapped to different metadata in the external system than the mapping implied by the mappings of the row and/or column in which they are located in the grid, then they may be selected individually or as a group and the mappings inherited from the row or columns overridden using the method described above.

The mappings, once created, may then be stored as part of the report definition for later use.

FIGS. 1-13 are screen captures illustrating an example of an execution of an embodiment of the present invention.

FIG. 1 is a screen capture illustrating selecting a row from a grid in accordance with an embodiment of the present invention. Here, a row 100 in the grid 102, the row 100 containing metadata that the user wishes to map to an external system. A properties window 104 may then appear, where the user is able to select properties for the row. Here, the user may wish to indicate that the row is mapped to an external system, such as an XBRL Line Item in this example. FIG. 2 is a screen capture illustrating selection of a line item checkbox in accordance with an embodiment of the present invention. As can be seen, the user has checked the checkbox 200. The user may then select the “setup” button.

FIG. 3 is a screen capture illustrating the selection of external metadata in accordance with an embodiment of the present invention. Metadata 300 may be presented in a hierarchical format, with a user able to move down the hierarchy by selecting one or more hierarchy boxes. FIG. 4 is a screen capture illustrating the selection of external metadata in accordance with an embodiment of the present invention. Here, a line item setup dialog is provided where some hierarchy boxes have been selected. The user has clicked the “Balance Sheet” box 400, which presented further metadata of “Assets” 402 and “Liabilities and Stockholders' Equity” 404. The user has gone even further down the hierarchy by also selecting “Assets” 402, and then “Current Assets” 406. The user has selected on “Cash and Cash Equivalents” 408 as the external metadata to associate with the selected row in the grid.

FIG. 5 is a screen capture illustrating the updated row properties window in accordance with an embodiment of the present invention. Here, the details of the mapping 500 are displayed beside the checkbox 502.

FIG. 6 is a screen capture illustrating the selection of a calculated row in accordance with an embodiment of the present invention. Here, the user has selected a row 600 for which there is no metadata in the internal systems. Calculations for this row are performed at output creation time. This may be mapped to an external system in the same way as any other row.

FIG. 7 is a screen capture illustrating a line item setup dialog for a selected calculated row in accordance with an embodiment of the present invention.

FIG. 8 is a screen capture illustrating the selection of a column for which metadata may be defined. This is an example of where the external metadata is not presupplied but rather the format of the metadata is predefined. Thus, the user selects a column 800, then checks the “XBRL context” checkbox 802 to specify that external metadata will be attached to this column, then hits “setup” 804. FIG. 9 is a screen capture illustrating the XBRL Manager-Context Setup dialog in accordance with an embodiment of the present invention. Here, the user may fill in values according to the format that is predefined. In this external system, selections involve the Entity, Units, Period, and Scenario. FIG. 9 depicts the dialog when the Entity tab is selected. FIG. 10 is a screen capture illustrating an XBRL manager-Context Setup dialog when a Units tab is selected in accordance with an embodiment of the present invention. FIG. 11 is a screen capture illustrating an XBRL manager-Context Setup dialog when a Period tab is selected in accordance with an embodiment of the present invention.

FIG. 12 is a screen capture illustrating the selection of individual cells from a grid in accordance with an embodiment of the present invention. Here, the user has selected cells 1200 whose previous mappings should be overruled. FIG. 13 is a screen capture illustrating the XBRL Manager-Context Setup Window for individual cell selections in accordance with an embodiment of the present invention. This window is similar to the XBRL Manager-Context Setup Window described earlier.

FIG. 14 is a flow diagram illustrating a method for establishing a mapping between internal metadata and external metadata in a report design environment in accordance with an embodiment of the present invention. In one embodiment, the external metadata may be XBRL metadata. The external metadata source may be specified using a schema registration. At 1400, internal metadata may be retrieved from a database. At 1402, the internal metadata may be organized in a grid having rows and columns, wherein dimensional metadata from the internal metadata is placed in the grid as row headings and/or column headings. At 1404, a selection of a portion of the grid may be received from a user, the selection indicating internal metadata to be mapped. The selection may be one or more rows, one or more columns, or one or more individual cells in the grid. At 1406 it may be determined if the external metadata describing all data points within the selection is predefined. If so, then at 1408 the user may be presented a list from which they may select an item of predefined data. The list may be provided in a tree control. Then at 1410, a definition of external metadata describing all points within the selection may be received from the user by receiving a selection of an item of predefined metadata from the list. If the external metadata describing all data points within the selection is not predefined, then at 1412, it may be determined if the syntax of the external metadata describing all data points within the selection is predefined. If so, then at 1414 the user may be presented with one or more dialog boxes in which they can specify external metadata to be created. The user may specify an entity, units, periods, and/or scenarios for the external metadata to be created in the dialog box. A control for the dialog box may be a tree control when an element button is selected and a text field when a custom button is selected. Then at 1416, a definition of external metadata describing all points within the selection may be received from the user by receiving a specification of external metadata to be created. At 1418, a mapping may be created between the selected internal metadata and the defined external metadata. This mapping may overwrite preexisting mappings for rows or columns containing the selection.

If at 1412, it is determined that the syntax of the external metadata describing all points to be mapped is not predefined, then the case is one where a data value should be calculated using a formula involving one or more data items in the source system. In this case, at 1420, a new row or column may be created in the grid. Then at 1422, a formula involving one or more data items in the grid may be received from the user. At 1424, the formula may be entered into a cell in the new row or column. Then the process may return to 1406 so that the user may then specify a definition of external metadata describing the new row or column (which is now the selection).

FIG. 15 is a block diagram illustrating an apparatus for establishing a mapping between internal metadata and external data in a report design environment in accordance with an embodiment of the present invention. In one embodiment, the external metadata may be XBRL metadata. The external metadata source may be specified using a schema manager. An internal metadata database retriever 1500 may retrieve internal metadata from a database. An internal metadata grid organizer 1502 coupled to the internal metadata database retriever 1500 may organize the internal metadata in a grid having rows and columns, wherein dimensional metadata from the internal metadata is placed in the grid as row headings and/or column headings. A grid portion user selection receiver 1504 coupled to the internal metadata grid organizer 1502 may receive a selection of a portion of the grid from a user, the selection indicating internal metadata to be mapped. The selection may be one or more rows, one or more columns, or one or more individual cells in the grid. A predefined external metadata selection determiner 1506 may determine if the external metadata describing all data points within the selection is predefined. If so, then a predefined metadata list presenter 1508 in an external metadata user definition receiver 1510 coupled to the grid portion user selection receiver may present the user a list from which they may select an item of predefined data. The list may be provided in a tree control. Then a predefined metadata list item receiver 1512 coupled to the predefined metadata list presenter 1508 may receive a definition of external metadata describing all points within the selection from the user by receiving a selection of an item of predefined metadata from the list. If the external metadata describing all data points within the selection is not predefined, then a predefined external metadata syntax determiner 1514 coupled to the external metadata user definition receiver 1510 may determine if the syntax of the external metadata describing all data points within the selection is predefined. If so, then an external metadata dialog box presenter 1516 may present the user with one or more dialog boxes in which they can specify external metadata to be created. The user may specify an entity, units, periods, and/or scenarios for the external metadata to be created in the dialog box. A control for the dialog box may be a tree control when an element button is selected and a text field when a custom button is selected. Then an external metadata specification receiver 1518 coupled to the external metadata dialog box presenter 1516 may receive a definition of external metadata describing all points within the selection may be received from the user by receiving a specification of external metadata to be created. An internal metadata-to-defined external metadata mapping creator 1520 coupled to the external metadata user definition receiver 1510 and to the grid portion user selection receiver 1504 may create a mapping between the selected internal metadata and the defined external metadata. This mapping may overwrite preexisting mappings for rows or columns containing the selection.

If it is determined that the syntax of the external metadata describing all points to be mapped is not predefined, then the case is one where a data value should be calculated using a formula involving one or more data items in the source system. In this case, a new row or column creator 1522 coupled to the internal metadata grid organizer 1502 may create a new row or column in the grid. Then, a user formula receiver 1524 coupled to the predefined external metadata syntax determiner 1514 and to the new row or column creator 1522 may receive a formula involving one or more data items in the grid from the user. A new row or column user formula placer 1526 coupled to the new row or column creator 1522 and to the user formula receiver 1524 may place the formula into a cell in the new row or column. Then the process may loop so that the user may then specify a definition of external metadata describing the new row or column (which is now the selection).

While embodiments and applications of this invention have been shown and described, it would be apparent to those skilled in the art having the benefit of this disclosure that many more modifications than mentioned above are possible without departing from the inventive concepts herein. The invention, therefore, is not to be restricted except in the spirit of the appended Claims. 

1. A method for establishing a mapping between internal metadata for a database and external metadata for a report, the method comprising: reading the internal metadata from the database, the internal metadata including metadata that describes data stored in the database; generating and displaying a screen, the screen including a grid having rows and columns, the rows and columns having dimensional metadata from the internal metadata placed in the grid as row and/or column headings the grid further including the internal metadata read from the database; receiving from a user a selection of a portion of the grid, the selection indicating one or more cells of the grid; in response to receiving the user selection: determining the internal metadata displayed on the grid that corresponds to the one or more cells, the internal metadata corresponding to the one or more cells forming a subset of the internal metadata displayed on the grid, wherein the user modifies the internal metadata to indicate the internal metadata is to be mapped to external metadata; presenting to the user one or more user interface controls for receiving a definition of external metadata for the subset of the internal metadata, the definition of external metadata specifying particular associations of the subset of internal metadata with the external metadata in the report, the definition describing all data points within the user selection; receiving via the one or more user interface controls, the definition of external metadata from the user, and based on the definition of the external metadata, creating a first mapping between the selected internal metadata and the external metadata; generating a report definition for the report, the report definition describing how report data described by the external metadata in the report is to be produced from the data stored in the database and described by the internal metadata; and storing the report definition, the report definition including the first mapping of internal metadata to external metadata for the report, wherein the first mapping applies only to a particular report and does not create a persistent association of the internal metadata with the external metadata such that a second report may be defined which uses a second mapping of the internal metadata to the external metadata, said second mapping being different from the first mapping, said second mapping associated with said second report.
 2. (canceled)
 3. The method of claim 1, further comprising: determining if the external metadata describing all data points within said selection is predefined; and wherein if the external metadata describing all data points within said selection is predefined, said receiving from said user a definition of external metadata comprises: presenting said user a list from which they may select an item of predefined metadata; and receiving from said user a selection of an item of predefined metadata from said list.
 4. The method of claim 3, wherein said list is provided in a tree control.
 5. The method of claim 3, further comprising: determining if syntax of the external metadata describing all data points within said selection is predefined; and wherein if the external metadata describing all data points within said selection is not predefined, but syntax of the external metadata describing all data points within said selection is predefined, said receiving from said user a definition of external metadata comprises: presenting said user with one or more dialog boxes in which they can specify external metadata to be created; and receiving from said user a specification of external metadata to be created.
 6. The method of claim 5, wherein said presenting includes presenting said user with a dialog box in which they can specify an entity for said external metadata to be created.
 7. The method of claim 5, wherein said presenting includes presenting said user with a dialog box in which they can specify units for said external metadata to be created.
 8. The method of claim 5, wherein said presenting includes presenting said user with a dialog box in which they can specify a time period for said external metadata to be created.
 9. The method of claim 5, wherein said presenting includes presenting said user with a dialog box in which they can specify a scenario for said external metadata to be created.
 10. The method of claim 9, wherein a control for said dialog box is a tree control when an element button is selected and a text field when a custom button is selected.
 11. The method of claim 1, wherein said selection is one or more rows in said grid.
 12. The method of claim 1, wherein said selection is one or more columns in said grid.
 13. The method of claim 1, wherein said selection is one or more individual cells in said grid, wherein said one or more individual cells do not comprise an entire row or an entire column.
 14. The method of claim 13, wherein preexisting mappings for rows or columns containing said selection are overwritten for said selected individual cells.
 15. The method of claim 1, further comprising: receiving from said user a formula involving one or more data items in said grid; creating a new row or column in said grid; entering said formula into a cell in said new row or column; and wherein said selection includes said cell.
 16. The method of claim 1, wherein said external metadata is Extensible Business Reporting Language (XBRL) metadata.
 17. The method of claim 1, wherein an external metadata source is specified using a schema manager.
 18. An apparatus for establishing a mapping between internal metadata for a database and external metadata for a report, the apparatus comprising a computer configured with: means for reading the internal metadata from the database, the internal metadata including metadata that describes data stored in the database; an internal metadata grid organizer configured to generate and display a screen, the screen including a grid having rows and columns, the rows and columns having dimensional metadata from the internal metadata placed in the grid as row and/or column headings the grid further including the internal metadata read from the database; a grid portion user selection receiver coupled to the internal metadata grid organizer to receive from a user a selection of a portion of the grid, the selection indicating one or more cells of the grid containing internal metadata to be mapped to external metadata in an external system, the external metadata describing report data for the report; means for determining the internal metadata displayed on the grid that corresponds to the one or more cells, the internal metadata corresponding to the one or more cells forming a subset of the internal metadata displayed on the grid, wherein the user modifies the internal metadata to indicate the internal metadata is to be mapped to external metadata; an external metadata user definition receiver coupled to said grid portion user selection receiver configured to present to the user one or more user interface controls for receiving a definition of external metadata for the subset of the internal metadata, the definition of external metadata specifying particular associations of the subset of internal metadata with the external metadata in the report, the definition describing all data points within the user selection, the external metadata user definition receiver being further configured to receive, via the one or more user interface controls, the definition of the external metadata; an internal metadata-to-defined external metadata mapping creator coupled to the external metadata user definition receiver, the internal metadata-to-defined external metadata mapping creator being configured to create a first mapping between the selected internal metadata and the external metadata specified by the definition of external metadata; and a report definition generator configured to generate a report definition for the report, the report definition describing how the report data described by the external metadata in the report is to be produced from the data stored in the database and described by the internal metadata, wherein the first mapping is contained in the report definition and applies only to a particular report and does not create a persistent association of the internal metadata with the external metadata such that a second report may be defined which uses a second mapping of internal metadata to external metadata, said second mapping being different from the first mapping, said second mapping associated with said second report.
 19. (canceled)
 20. The apparatus of claim 18, further comprising: a predefined external metadata selection determiner coupled to said external metadata user definition receiver; and wherein said external metadata user definition receiver includes: a predefined metadata list presenter; and a predefined metadata list item receiver coupled to said predefined metadata list presenter.
 21. The apparatus of claim 20, further comprising: a predefined external metadata syntax determiner coupled to said external metadata user definition receiver; and wherein said external metadata user definition receiver includes: an external metadata dialog box presenter; and an external metadata specification receiver coupled to said external metadata dialog box presenter.
 22. The apparatus of claim 18, further comprising: a user formula receiver; a new row or column creator coupled to said user formula receiver and to said internal metadata grid organizer; a new row or column user formula placer coupled to said new row or column creator and to said user formula receiver.
 23. An apparatus for establishing a mapping between internal metadata for a database and external metadata for a report, the apparatus comprising a computer configured with: means for reading the internal metadata from the database, the internal metadata including metadata that describes data stored in the database; means for generating and displaving a screen, the screen including a grid having rows and columns, the rows and columns having dimensional metadata from the internal metadata placed in the grid as row and/or column headings the grid further including the internal metadata read from the database; means for receiving from a user a selection of a portion of the grid, the selection indicating one or more cells of the grid; means for determining the internal metadata displayed on the grid that corresponds to the one or more cells, the internal metadata corresponding to the one or more cells forming a subset of the internal metadata displayed on the grid, wherein the user modifies the internal metadata to indicate the internal metadata is to be mapped to external metadata; means for presenting to the user one or more user interface controls for receiving a definition of external metadata for the subset of the internal metadata, the definition of external metadata specifying particular associations of the subset of internal metadata with the external metadata in the report, the definition describing all data points within the user selection; means for receiving, via the one or more user interface controls, the definition of external metadata from the user, and based on the definition of the external metadata, creating a first mapping between the selected internal metadata and the external metadata; means for generating a report definition for the report, the report definition describing how report data described by the external metadata in the report is to be produced from the data stored in the database and described by the internal metadata; and means for storing said report definition, the report definition containing the mapping of internal metadata to external metadata for the report, wherein the mapping applies only to a particular report and does not create a persistent association of the internal metadata with the external metadata such that a second report may be defined which uses a second mapping of internal metadata to external metadata, said second mapping being different from the mapping, said second mapping associated with said second report.
 24. (canceled)
 25. The apparatus of claim 23, further comprising: means for determining if the external metadata describing all data points within said selection is predefined; and wherein if the external metadata describing all data points within said selection is predefined, said means for receiving from said user a definition of external metadata comprises: means for presenting said user a list from which they may select an item of predefined metadata; and means for receiving from said user a selection of an item of predefined metadata from said list.
 26. The apparatus of claim 25, wherein said list is provided in a tree control.
 27. The apparatus of claim 25, further comprising: means for determining if syntax of the external metadata describing all data points within said selection is predefined; and wherein if the external metadata describing all data points within said selection is not predefined, but syntax of the external metadata describing all data points within said selection is predefined, said means for receiving from said user a definition of external metadata comprises: means for presenting said user with one or more dialog boxes in which they can specify external metadata to be created; and means for receiving from said user a specification of external metadata to be created.
 28. The apparatus of claim 27, wherein said means for presenting includes means for presenting said user with a dialog box in which they can specify an entity for said external metadata to be created.
 29. The apparatus of claim 27, wherein said means for presenting includes means for presenting said user with a dialog box in which they can specify units for said external metadata to be created.
 30. The apparatus of claim 27, wherein said means for presenting includes means for presenting said user with a dialog box in which they can specify a time period for said external metadata to be created.
 31. The apparatus of claim 27, wherein said means for presenting includes means for presenting said user with a dialog box in which they can specify a scenario for said external metadata to be created.
 32. The apparatus of claim 31, wherein a control for said dialog box is a tree control when an element button is selected and a text field when a custom button is selected.
 33. The apparatus of claim 23, wherein said selection is one or more rows in said grid.
 34. The apparatus of claim 23, wherein said selection is one or more columns in said grid.
 35. The apparatus of claim 23, wherein said selection is one or more individual cells in said grid.
 36. The apparatus of claim 35, wherein preexisting mappings for rows or columns containing said selection are overwritten for said selected individual cells.
 37. The apparatus of claim 23, further comprising: means for receiving from said user a formula involving one or more data items in said grid; means for creating a new row or column in said grid; means for entering said formula into a cell in said new row or column; and wherein said selection includes said cell.
 38. The apparatus of claim 23, wherein said external metadata is Extensible Business Reporting Language (XBRL) metadata.
 39. The apparatus of claim 23, wherein an external metadata source is specified using a schema manager.
 40. The method of claim 1 wherein: the internal metadata describes data, contained in the database, from which a report is to be generated; and the screen includes tools for designing the report.
 41. The apparatus of claim 18 wherein: the internal metadata describes data, contained in the database, from which a report is to be generated; and the screen includes tools for designing the report.
 42. The apparatus of claim 23 wherein: the internal metadata describes data, contained in the database, from which a report is to be generated; and the screen includes tools for designing the report. 